With extensive deployment of electronic devices such as, sensors and computing devices around the globe, a large volume of data streams are being generated by these electronic devices. These data streams need to be collected and further required to be processed. Typically, the processing of the data streams from the electronic devices should be in real time so that immediate action can be taken.
There is a need for reasoning the data streams captured from the electronic devices to get actionable insights from the data streams. In addition to the data streams received from the electronic devices, the reasoning must also be performed on the other knowledge pertaining to the data streams. However, the knowledge may not be present at a single location.
Conventional systems tend to consider ontology files as the only source of knowledge. However in an enterprise environment, knowledge lies in different systems such as relational databases, flat files etc. Unfortunately, it is not feasible for the conventional systems to collect all the knowledge and consolidate at a single location to perform the reasoning.
The conventional systems are incapable of processing the data streams using effective reasoning techniques. Moreover, conventional systems rely on large continuous queries, thereby making an entire process of reasoning slow and inefficient.
Further, conventional systems only support time-based and count-based windows for the requests received by them. In time-based windows, triples in the stream are stored for a given length of time in the system. In count-based windows, a fixed number of triples of a data stream are stored in the system. However, in some situations, only the client application using the system knows what is the lifetime of a fact (triple) in the system.